'''----商超管理系统（容器版）----
项目需求：
系统需要用户先登录，再进行操作，其中包含一下功能菜单：
1.显示商品列表
2.增加商品
3.删除商品
4.设置折扣
5.修改价格
6.按价格排序（升序、降序
7.退出
  a.	使用列表嵌套字典的方式保存用户数据（包含用户名，密码，姓名）；
  b.	使用列表嵌套字典的方式保存商品数据（包含编号，名称，价格，折扣）；
  c.	编写用户登录的函数，返回登录结果；
  d.	循环提示菜单，业务完毕时返回主菜单，退出时回到登陆页面；
  e.	将功能菜单中的业务功能各自编写到函数中；
  f.	用户选择不同业务编号时，调用已经写好的各种函数。'''

# 用户数据
user1={'name':'金刚大萝莉','username':'lmd','password':'123456'}
user2={'name':'熬鹰少女','username':'zzx','password':'666666'}
user3={'name':'甜妹','username':'wsh','password':'888888'}
user_list=[user1,user2,user3]
goods1={'id':'001','goodsname':'薯片','price':8.0,'discount':'7'}
goods2={'id':'002','goodsname':'辣条','price':5.0,'discount':'9'}
goods3={'id':'003','goodsname':'火鸡面','price':15.0,'discount':''}
goods4={'id':'004','goodsname':'可乐','price':4.0,'discount':'9'}
goods5={'id':'005','goodsname':'热狗','price':2.0,'discount':'7'}
goods_list=[goods1,goods2,goods3,goods4,goods5]


def login():
# 登录
    name=input("请输入您的用户名：")
    pwd=input("请输入密码：")
    tag=0
    for user in user_list:
        if name==user['username'] and pwd==user['password']:
            tag=1
            break
    if tag==1:
        return 1
    else:
        return 0
def show_goods():
    # 展示商品
    print("商品清单如下：")
    print(f'''商品编号  商品名  单价  折扣''')
    for goods in goods_list:
            print(tuple(goods.values()))
def goods_add():
    #增加商品
    goodsname=input("请输入商品名：")
    price=float(input("请输入商品单价："))
    discount=input("请输入商品参与的折扣：")
    goods_list.append({'id':"00"+str(len(goods_list)+1),'goodsname':goodsname,'price':price,'discount':discount})
    print("商品添加成功！")
def goods_del():
    # 删除商品
    while True:
        tag=0
        id=input("请输入您要删除的商品编号：")
        for goods in goods_list:
            if id==goods['id']:
                tag=1
                break
        if tag==1:
            goods_list.remove(goods)
            print("删除成功！")
            break
        else:
            print("商品编号不存在！")
def discount_set():
    while True:
        tag=0
        id=input("请输入要改折扣的商品编号：")
        for goods in goods_list:
            if id==goods['id']:
                tag=1
                discount = input("请输入要修改后的折扣数：")
                goods['discount'] = discount
                print(f"修改成功！！！当前{goods['goodsname']}的折扣是{discount}折")
                break
        if tag==1:
           break
        else:
            print("商品不存在请重新输入！")
def price_set():
    # 修改价格
    while True:
        tag = 0
        id = input("请输入要改折扣的商品编号：")
        for goods in goods_list:
            if id == goods['price']:
                tag = 1
                price = input("请输入要修改后的折扣数：")
                goods['price'] = price
                print(f"改价成功！！！当前{goods['goodsname']}的价格是{price}元/kg")
                break
        if tag == 1:
            break
        else:
            print("商品不存在请重新输入！")
def goods_sort_by_price():
    #按价格排序
    for goods in goods_list:
        goods_list.sort(key=lambda goods: goods['price'])
    print('商品列表：(升序)')
    show_goods()
    for goods in goods_list:
        goods_list.sort(key=lambda goods: goods['price'],reverse=True)
    print('商品列表：(降序)')
    show_goods()

def main():
    while True:
        print('''
        1. 显示商品列表
        2. 增加商品
        3. 删除商品
        4. 设置折扣
        5. 修改价格
        6. 按价格排序（升序、降序
        7. 退出
        ''')
        choice = input('请选择您要进行的操作：')
        # 5. 用户选择不同业务编号时，调用各种函数
        if choice == '1':
            show_goods()
        elif choice == '2':
            goods_add()
        elif choice == '3':
            goods_del()
        elif choice == '4':
            discount_set()
        elif choice == '5':
            price_set()
        elif choice == '6':
            goods_sort_by_price()
        elif choice == '7':
            break

if __name__ == '__main__':
    print(login())
    main()
    # show_goods()
    # goods_add()
    # goods_del()
    # discount_set()
    # print(goods1)
    # price_set()
    # goods_sort_by_price()